IT

Quando matar boss aparece báu.

Por ITALOx, 09 de mar. de 2019 em Scripts

boss
4
2.1k
ITALOxI
09 de março de 2019 às 17:22

Salve xtibia, então, eu queria um script, que quando um player mata o boss, automaticamente ele poderá pegar o báu ao clicar nele, mas, só matando o boss, se ele for só "clicar" pra pegar, irá aparecer uma mensagem dizendo: "Você só poderá pegar o item quando o boss for morto". Agradeço desde já.

@Yan Liima

ITALOxI
09 de março de 2019 às 18:17
3 minutos atrás, Thalles Vitor disse:

Basicamente, voce quer que quando um monstro morrer dar um

doCreateItem

?

No caso quando morrer, criar um bau? ou você quer que só possa pegar o bau se tiver matado o boss?

Ao matar o boss.

Yan LiimaY
09 de março de 2019 às 18:57

@Thalles Vitor nesse script não tem nada definindo que o jogador matou o boss...

@Italox @diarmaint Todos que ajudarem matar o Boss ganha a storage. Em creaturescripts crie um arquivo.lua e cole isso:

function onDeath(cid, corpse, deathList)
	local monstro, m = {"Yanzito"}, {}
	local storage = 1239854 -- Storage que irá receber
	if isMonster(cid) and isInArray(monstro, getCreatureName(cid)) then
		for _, jogador in pairs(deathList) do
			if isPlayer(jogador) then
				local test = true
				if #m > 0 and isInArray(m, getPlayerIp(jogador)) then
					test = false
				end
				m[#m+1] = getPlayerIp(jogador)
				if test and getPlayerStorageValue(jogador, storage) <= 0 then
						setPlayerStorageValue(jogador, storage,1)
					end
				end
			end
		return true
	end
	return true
end

XML:

<event type="death" name="BossStr" event="script" value="arquivo.lua"/>

Vai no XML do monstro e antes de </monster> coloque isso:

<script>
<event name="BossStr"/>
</script>

No seu actions, na script do bau tu pode por a storage 1239854 para poder abrir. Vou deixar um exemplo:

function onUse(cid, item, frompos, item2, topos)
	if item.uid == 60090 then
	if getPlayerStorageValue(cid,1239854) >= 2 then
	doPlayerSendTextMessage(cid,25,"Você já recebeu seu item.")
	return true
	end
    if getPlayerStorageValue(cid,1239854) <= 0 then
      doPlayerSendTextMessage(cid,25,"Você precisa matar o Boss antes.")
	  else
			doPlayerSendTextMessage(cid,25,"Parabens!")
            doPlayerAddItem(cid,2631,1)
			setPlayerStorageValue(cid,1239854,2)
		end
		return true
	end
  end
<action uniqueid="60090" script="arquivo.lua" />

Ai é só por o UniqueID 60090 no baú.

Editado Março 9 por nedroesdoksdja

ITALOxI
10 de março de 2019 às 13:18
18 horas atrás, Yan Liima disse:

@Thalles Vitor nesse script não tem nada definindo que o jogador matou o boss...

@Italox @diarmaint Todos que ajudarem matar o Boss ganha a storage. Em creaturescripts crie um arquivo.lua e cole isso:

function onDeath(cid, corpse, deathList)
	local monstro, m = {"Yanzito"}, {}
	local storage = 1239854 -- Storage que irá receber
	if isMonster(cid) and isInArray(monstro, getCreatureName(cid)) then
		for _, jogador in pairs(deathList) do
			if isPlayer(jogador) then
				local test = true
				if #m > 0 and isInArray(m, getPlayerIp(jogador)) then
					test = false
				end
				m[#m+1] = getPlayerIp(jogador)
				if test and getPlayerStorageValue(jogador, storage) <= 0 then
						setPlayerStorageValue(jogador, storage,1)
					end
				end
			end
		return true
	end
	return true
end

XML:

<event type="death" name="BossStr" event="script" value="arquivo.lua"/>

Vai no XML do monstro e antes de </monster> coloque isso:

<script>
<event name="BossStr"/>
</script>

No seu actions, na script do bau tu pode por a storage 1239854 para poder abrir. Vou deixar um exemplo:

function onUse(cid, item, frompos, item2, topos)
	if item.uid == 60090 then
	if getPlayerStorageValue(cid,1239854) >= 2 then
	doPlayerSendTextMessage(cid,25,"Você já recebeu seu item.")
	return true
	end
    if getPlayerStorageValue(cid,1239854) <= 0 then
      doPlayerSendTextMessage(cid,25,"Você precisa matar o Boss antes.")
	  else
			doPlayerSendTextMessage(cid,25,"Parabens!")
            doPlayerAddItem(cid,2631,1)
			setPlayerStorageValue(cid,1239854,2)
		end
		return true
	end
  end
<action uniqueid="60090" script="arquivo.lua" />

Ai é só por o UniqueID 60090 no baú.

Vou tentar aqui, se dê certo, aviso, e dou a melhor reposta.